Distributed computation generally refers to the use of distributed systems to solve computational problems. Distributed systems generally include multiple nodes that communicate via a network. In distributed computation, computational problems are divided into tasks, each of which may be solved by one or more nodes in the distributed system. For example, if the computational problem is in the form of a computer executable program and a data set, the program and/or the data set may be partitioned into subprograms and/or data subsets, respectively. A task generally includes a subprogram and a data subset. Each task may be executed by one or more computers in the distributed system.
One example of a resource for distributed computing is the Internet. Large numbers of computers (“end user computers”), with underutilized processing capability, are connected with the Internet at any given time. This underutilized processing capability has been utilized in connection with the computational problems involved with gene sequencing and SETI (Search for Extraterrestrial Intelligence).